//Array.prototype.slice.call(arguments, 1)
//console.log(s);

//var o = function(){
//    var _val = "TT";
////    return{
////        get t(){ return this._val; },
////        set t(y){ this._val = y;}
////    };
//};
//o.prototype.set = function(t){
//    return {
//        t:console.log( "___set____",Array.prototype.slice.call(arguments, 1))
//    };
//}
//o.prototype.get = function(t){
//    return {
//        t:console.log(this._val+"___get____",Array.prototype.slice.call(arguments, 1))
//    };
//}
//var po = new o();
//po.t("new");
//////console.log(po);
////////console.log(po.t);
//po.t;


//var module = (function() {
//    var _private = {
//        i:5,
//        get : function() {
//            console.log('current value:' + this.i);
//        },
//        set : function( val ) {
//            this.i = val;
//        },
//        run : function() {
//            console.log('running');
//        },
//        jump: function(){
//            console.log('jumping');
//        }
//    };
//    return {
//        facade : function( args ) {
//            _private.set(args.val);
//            _private.get();
//            if ( args.run ) {
//                _private.run();
//            }
//        }
//    }
//}());
//module.facade({run: true, val:10}); //outputs current value: 10, running


// facade pattern original
//var module1 = (function() {
//    var _private = {
//        i:5,
//        get : function() {
//            console.log('current value:' + this.i);
//        },
//        set : function( val ) {
//            this.i = val;
//        },
//        run : function() {
//            console.log('running');
//        },
//        jump: function(){
//            console.log('jumping');
//        }
//    };
//    return {
//        facade : function( args ) {
//            _private.set(args.val);
//            _private.get();
//            if ( args.run ) {
//                _private.run();
//            }
//        }
//    }
//}());
//module1.facade({run: true, val:10}); //outputs current value: 10, running




